Method of outputting color code for data communication to display screen and method of transmitting data using color code

ABSTRACT

A method of outputting color code for data communication to a display screen, the method includes determining a plurality of sections having a predetermined order of a display screen, mapping the plurality of sections to different binary numbers each having at least one-bit length, and outputting a predetermined color to consecutive sections including at least a first section among the plurality of sections in a direction of the predetermined order or a reverse direction of the predetermined order. The color output to the consecutive sections represents binary numbers in which ‘0’ or ‘1’ is added to a front or end of designated binary numbers in the direction of the predetermined order or the reverse direction of the predetermined order, the designated binary numbers mapped to a last section among the consecutive sections in the direction of the predetermined order or the reverse direction of the predetermined order.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit under 35 U.S.C. § 119A of KoreanPatent Application No. 10-2015-0106438, filed on Jul. 28, 2015, in theKorean Intellectual Property Office, the entire disclosure of which isincorporated herein by reference for all purposes.

BACKGROUND

1. Field

The following description relates to data communication using color codeon a display device.

2. Description of Related Art

Digital data has been generally transferred using a wirelesscommunication method using a radio frequency (RF). Furthermore, variousresearch has been conducted on methods which provide data transferringwithout an RF. As a representative example, there is a visible lightcommunication method using a light-emitting diode (LED) device and areceiver.

SUMMARY OF THE INVENTION

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

In one general aspect, a method of outputting color code for datacommunication to a display screen, the method includes determining aplurality of sections having a predetermined order of a display screen,mapping the plurality of sections to different binary numbers eachhaving at least one-bit length, and outputting a predetermined color toconsecutive sections including at least a first section among theplurality of sections in a direction of the predetermined order or areverse direction of the predetermined order. The color output to theconsecutive sections represents binary numbers in which ‘0’ or ‘1’ isadded to a front or end of designated binary numbers in the direction ofthe predetermined order or the reverse direction of the predeterminedorder, the designated binary numbers mapped to a last section among theconsecutive sections in the direction of the predetermined order or thereverse direction of the predetermined order.

The method may further include converting source data into binary coderepresenting the source data, and the predetermined color may be outputto the display screen so as to represent a portion of binary numbersbased on the binary code.

A bit string of binary code corresponding to source data may be dividedby a predetermined bit length, and the predetermined color may be outputto the display screen so as to represent binary numbers included in thebit string in a unit of the certain bit length.

When the consecutive sections include all the plurality of sections, acolor which may be different from the predetermined color may be outputto the consecutive sections including all the plurality of sections inthe direction of the predetermined order or the reverse direction of thepredetermined order.

The predetermined color may be output to the consecutive sections in thedirection of the predetermined order, and a color which may be differentfrom the predetermined color is output to the consecutive sections inthe reverse direction of the predetermined order.

The display screen may be divided into a plurality of code sectionsincluding the plurality of sections, and different colors are output tothe plurality of code sections.

In another general aspect, a method of transferring data using colorcode, the method includes dividing a bit string of binary codecorresponding to source data by a bit length, outputting a predeterminedcolor to a plurality of sections having a predetermined order of adisplay screen, wherein the predetermined color corresponds to the bitstring divided by the bit length, obtaining an image output to thedisplay screen through a camera, and decoding the source data containedin the image on the basis of the predetermined color output to theplurality of sections. The transmitter outputs the predetermined colorto consecutive sections including at least a first section among theplurality of sections in a direction of the predetermined order or areverse direction of the predetermined order. The predetermined coloroutput to the consecutive sections represents binary numbers in which‘0’ or ‘1’ is added to a front or end of designated binary numbers inthe direction of the predetermined direction order or the reversedirection of the predetermined order, the designated binary numbersmapped to a last section among the consecutive sections in the directionof the predetermined order or the reverse direction of the predeterminedorder.

When the consecutive sections include all the plurality of sections, thetransmitter may output a color which may be different from thepredetermined color to the consecutive sections including all theplurality of sections in the direction of the predetermined order or thereverse direction of the predetermined order.

The transmitter may output the predetermined color to the consecutivesections in the direction of the predetermined order, and may output acolor which may be different from the predetermined color to theconsecutive sections in the reverse direction of the predeterminedorder.

The transmitter may divide the display screen into a plurality of codesections respectively including the plurality of sections, and mayoutput different colors to the plurality of code sections

The method may further comprise decoding the source data and performinguser authentication by comparing pre-stored authentication data with thedecoded source data.

The method may further include preventing a color value from beingoutput at intervals of frames or outputting a frame of black color whilethe predetermined color is output to the display screen.

The method may further include measuring an intensity of illumination,and control a brightness value or a color value of the predeterminedcolor output to the consecutive sections when the measured intensity ofillumination may be outside a reference range.

The method may further include a receiver measuring intensity ofillumination or analyzing a brightness value of an image obtained by thecamera, and transferring information regarding the intensity ofillumination or the brightness value of the image to a transmitterthrough a network. When the intensity of illumination or the brightnessvalue of the image is outside a reference range, the transmitter maycontrol a brightness value or a color value of the predetermined coloroutput to the consecutive sections.

A non-transitory computer-readable storage medium storing instructionsthat, when executed by a processor, may cause the processor to performthe method.

In another general aspect, a transmitter includes a processor configuredto determine a plurality of sections having a predetermined order of adisplay screen, map the plurality of sections of the display todifferent binary numbers each having at least one-bit length, and outputa predetermined color to consecutive sections including at least a firstsection among the plurality of sections in a direction of thepredetermined order or a reverse direction of the predetermined order.The color output to the consecutive sections represents binary numbersin which ‘0’ or ‘1’ is added to a front or end of designated binarynumbers in the direction of the predetermined order or the reversedirection of the predetermined order, the designated binary numbersmapped to a last section among the consecutive sections in the directionof the predetermined order or the reverse direction of the predeterminedorder.

The transmitter may be a smartphone, a tablet, a laptop or a computer.

In another general aspect, a receiver includes a camera, and a processorconfigured to receive an image from the camera, and decode the sourcedata contained in the image on the basis of a predetermined color orderof a plurality of sections of the image. The predetermined color orderof consecutive sections represents binary numbers in which ‘0’ or ‘1’ isadded to a front or end of designated binary numbers in a direction ofthe predetermined color order or a reverse direction of thepredetermined color order, the designated binary numbers mapped to alast section among the consecutive sections in the direction of thepredetermined color order or the reverse direction of the predeterminedcolor order.

The transmitter may be a smartphone, a tablet, a laptop or a computer.

Other features and aspects will be apparent from the following detaileddescription, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating an example of a data transferringsystem using color code according to an embodiment.

FIGS. 2A through 2D illustrate examples of a section of a display screenon which color code is output according to an embodiment.

FIGS. 3A through 3H illustrate examples of a display screen on whichcolor code is output according to an embodiment.

FIGS. 4A through 4H illustrate another examples of a display screen onwhich color code is output according to an embodiment.

FIGS. 5A through 5H illustrate yet another examples of a display screenon which color code is output according to an embodiment.

FIGS. 6A through 6H illustrate example of a display screen on whichbinary code corresponding to text data is output using the color codeaccording to an embodiment.

FIG. 7 illustrates an example of a frame structure in which color codeis transferred according to an embodiment.

FIG. 8 is a flowchart illustrating an example of extracting color codeby a receiver according to an embodiment.

FIGS. 9A through 9E illustrate examples of extracting a region whichoutputs color code by a receiver according to an embodiment.

FIG. 10 is a block diagram illustrating an example of a system whichtransfers data using color code according to an embodiment.

FIG. 11 is a block diagram illustrating another example of a systemwhich transfers data using color code according to an embodiment.

FIG. 12 is a flowchart illustrating an example of a method of outputtingcolor code for data communication according to an embodiment.

FIG. 13 is a flowchart illustrating an example of a method oftransferring data using color code according to an embodiment.

FIG. 14 is a block diagram illustrating another example of a systemwhich transfers data using color code according to an embodiment.

FIG. 15 is a block diagram illustrating yet another example of a systemwhich transfers data using color code according to an embodiment.

Throughout the drawings and the detailed description, the same referencenumerals refer to the same elements. The drawings may not be to scale,and the relative size, proportions, and depiction of elements in thedrawings may be exaggerated for clarity, illustration, andconvenience.\.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

The following detailed description is provided to assist the reader ingaining a comprehensive understanding of the methods, apparatuses,and/or systems described herein. However, various changes,modifications, and equivalents of the methods, apparatuses, and/orsystems described herein will be apparent after an understanding of thedisclosure of this application. For example, the sequences of operationsdescribed herein are merely examples, and are not limited to those setforth herein, but may be changed as will be apparent after anunderstanding of the disclosure of this application, with the exceptionof operations necessarily occurring in a certain order. Also,descriptions of features that are known in the art may be omitted forincreased clarity and conciseness.

The features described herein may be embodied in different forms, andare not to be construed as being limited to the examples describedherein. Rather, the examples described herein have been provided merelyto illustrate some of the many possible ways of implementing themethods, apparatuses, and/or systems described herein that will beapparent after an understanding of the disclosure of this application.

First, the terminology used herein will be described below.

A computer device recognizes various types of data in the form of abinary number. In the following description, data is transferred byoutputting a specific color pattern corresponding to a binary number toa display device by a transmitter, and obtaining an image by a receiverusing a camera. The transmitter outputs to the display device a colorhaving a specific pattern corresponding to data to be transferred. Thereceiver decodes an image captured by the camera. Hereinafter, a colorhaving a specific pattern and output from the transmitter is referred toas ‘color code’.

The transmitter outputs color code corresponding to the data. Thereceiver distinguishes the color code from the captured image, anddecodes the color code. Thus, the data is transferred from thetransmitter to the receiver. The transmitter converts certain data intocolor code and outputs the color code to the display device. Forexample, the transmitter may be a computer device such as a personalcomputer (PC), a notebook computer, a smart phone, a tablet PC, or otherdevice. The receiver may be a computer device such as a PC connected toa camera, a notebook computer including a camera therein, a smart phone,a tablet PC, or other device. Furthermore, the transmitter and thereceiver may be dedicated devices configured to transfer data usingcolor code.

Data to be converted into certain color code by the transmitter isreferred to as ‘source data’. The source data includes various types ofdata represented in the form of digital data. Examples of the sourcedata include text data, image data, or audio data. For convenience ofexplanation, embodiments will be described with respect to text dataamong examples of the source data.

FIG. 1 is a diagram illustrating an example of a data transferringsystem using color code. The system which transfers data using the colorcode includes a transmitter which outputs the color code, and a receiverwhich obtains, or receives, the color code output from the transmitterusing a camera and decodes the color code. FIG. 1 illustrates a processof obtaining the color code output from the transmitter by the receiverusing the camera.

FIG. 1 illustrates a portable terminal 11 and a monitor device 12 asexamples of a transmitter. The transmitter outputs color code to adisplay screen thereof. The display screen outputs red (R), green G, andblue B colors having a specific pattern. A receiver spaced a distancefrom the transmitter obtains the color code output to the display screenof the transmitter using the camera. FIG. 1 illustrates a PC 21connected to a camera and a portable terminal 22 including a cameratherein as examples of the receiver.

Binary code representing source data and color code representing thebinary code will be described below. In a computer device, data isrepresented using specific code. For example, text data is representedusing code such as Unicode, or ASCII code. A bit string representingspecific data in a computer device will be referred to as ‘binary code’.The color code represents the binary code using a specific colorpattern.

For example, in the ASCII code, text data ‘hello’ is represented using01101000H, 01100101E, 01101100(l), 01101100(l), and 01101111(o). Thetext data consists of one character. Each character is represented witheight bits.

The color code consists of a plurality of color code elements. The colorcode elements correspond to binary bits having a certain length. Forexample, the color code elements may represent a plurality ofcharacters, one character (8 bits), double-digit binary bits, or asingle-digit binary bit. A specific binary string or binary bitsrepresented by each color code element are predetermined, or definedbeforehand. For example, one color code element may correspond to‘01101000H’. In this case, the number of color code elements needed toidentify 8-bit binary bits may be 2⁸(=256). One color code element maycorrespond to two-digit binary bits. In this case, the number of colorcode elements needed is 2²(=4). In this case, four consecutive colorcode elements ‘01/10/10/00’ may be needed to represent ‘01101000H’described above. Furthermore, one color code may correspond tovarious-digit binary bits.

The color code may be output to a specific section of the displayscreen. The color code may represent pieces of data (a binary string)which are different in an order in which colors are output to thespecific section. Here, a color output to one specific sectioncorresponds to one color code element. Thus, the whole color code isrepresented with a pattern of colors output to a plurality of sectionsof the display screen.

Some examples of a direction representing an order in which colors areoutput will be described below. According to an example, a directionfrom top to bottom is a forward direction when the plurality of sectionsare located vertically, a direction from bottom to top is a backwarddirection. According to an example, a direction from the left to theright is the forward direction when the plurality of sections arelocated horizontally, a direction from the right to the left is thebackward direction. According to an example, the plurality of sectionsmay include two or more columns or rows. In this case, the forwarddirection may be a direction from top to bottom in the same column or adirection from the left to the right in the same row. A reversedirection of the forward direction is the backward direction. Accordingto an example, the plurality of sections may be located in discontinuousregions of the display screen. In this case, a predetermined order maybe the forward direction.

FIGS. 2A-2D illustrates examples of a section of a display screen onwhich color code is output according to an embodiment. The color code isgenerated from a combination of a specific color output from the displayscreen and a shape, or pattern, in which the specific color is output.FIGS. 2A-2D illustrates examples of sections of the display screen fromwhich the color code is output.

FIG. 2A illustrates three columns I, J and K. These three columns eachrepresent a string of two-digit binary bits in the same order. That is,FIG. 2A illustrates an example in which one color code elementrepresents a string of two-digit bits. Referring to FIG. 2A, the threecolumns I, J and K are displayed in one screen and thus the screen mayrepresent strings of six-digit bits.

A section representing one color code element, such as the three columnsI, J and K of FIG. 2A, will be referred to as a ‘code section’. Eachcode section includes a plurality of subsections according to the numberof digits of a bit string represented by the code section. Referring toFIG. 2A, the three columns I, J and K are code sections each consistingof four subsections representing ‘00’, ‘01’, ‘10’ and ‘11’. Binary bits(a bit string) represented by each of the four subsections aredetermined beforehand.

Information regarding code sections and subsections output to thedisplay screen, binary numbers represented by the subsections, and theforward direction (or the backward direction) of each of the subsectionsshould be shared beforehand between a transmitter and a receiver.

In FIG. 2A, when the transmitter outputs a specific color to anuppermost subsection of the code section I, the code section Irepresents bits ‘00’. In FIG. 2A, the three code sections represent6-digit binary bits ‘00/01/11’ when the transmitter outputs a color tothe uppermost subsection of the code section I, a second subsection ofthe code section J from top to bottom, and a lowermost subsection of thecode section K. Here, ‘/’ is a mark used to distinguish the bit stringsrepresented by these code sections from one another.

FIG. 2B illustrates that three columns respectively represent codesections each including four subsections representing two-digit binarybits, similar to FIG. 2A. Two-digit bits represented by subsections of acode section J and subsections of a code section K of FIG. 2B aredifferent from those in FIG. 2A. Unlike the code section J of FIG. 2A,the subsections of the code section J of FIG. 2B represent11->10->01->00 in a direction from top to bottom. The subsections of thecode section K of FIG. 2B represent 00->10->11->01 in the direction fromtop to bottom.

FIG. 2C illustrates three code sections I, J, and K which are notvertical columns. Referring to FIG. 2C, each of the code sections I, Jand K includes four subsections sequentially representing 00->10->10->11from left to right and continuing on the following row.

FIG. 2D illustrates one code section I on one screen. Each ofsubsections of the code section I of FIG. 2D represents three-digitbinary bits. In the case of FIG. 2D, information corresponding tothree-digit bits may be transferred to one screen.

FIGS. 2A-2D illustrate one example of a display screen, and embodimentsare not limited thereto. The number and shape of code sections arevariable. The number of subsections may vary according to the number ofdigits of binary bits represented by each of the code sections.

Several examples of color code will be described below. FIGS. 3A to 6Hillustrate examples in which code sections and subsections such as thoseof FIG. 2A are used.

FIGS. 3A-3H illustrate examples of a display screen on which color codeis output. FIGS. 3A-3H illustrate examples in which a specific color isoutput to the code section I of FIG. 2A. However, FIGS. 3A-3H illustratethree-digit bits other than two-digit bits by additionally using anorder in which subsections are output as a criterion, unlike FIG. 2A. Asdescribed above, for convenience of explanation, it is assumed that adirection from top to bottom of a screen is the forward direction and adirection from bottom to top of the screen is the backward direction. InFIGS. 3A-3H, arrows represent an output direction.

FIG. 3A illustrates an example in which a red color (indicated by ‘R’)is output to a foremost subsection among four subsections in the forwarddirection. FIG. 3B illustrates an example in which the red color R isoutput to two subsections among the four subsections in the forwarddirection. FIG. 3C illustrates an example in which the red color R isoutput to three subsections among the four subsections in the forwarddirection. FIG. 3D illustrates an example in which the red color R isoutput to all the four subsections in the forward direction. In FIGS.3A-3H, the outputting of the red color R is merely one embodiment andthus a different color may be output according to a rule definedbeforehand by a user.

In FIG. 3A, subsections are sequentially indicated as A, B, C and D. Atransmitter may output a color to the subsection A. When the transmitteroutputs the color to the subsections B, C and D, the color iscontinuously output, starting from the subsection A. Thus, asillustrated in FIG. 3A to D, the color is output to the subsection A,the subsections A+B, the subsections A+B+C, and the subsections A+B+C+D.Sections to which a color is consecutively output as described above arereferred to as ‘consecutive sections’.

These subsections represents 00 ->01 ->10->11 which are two-digit bitsin a direction from top to bottom. In the color code, one bit maydeliver additional information according to a direction in which a coloris output. The color code consists of binary bits represented by each ofsubsections and binary bits represented by the direction in which thecolor is output.

In code sections, a last subsection among consecutive sections to whicha color is output represents specific binary bits. The specific binarybits represented by the last subsection of the consecutive sections willbe referred to as ‘reference binary bits’. For example, in FIG. 3A,reference binary bits of the subsection A are ‘00’, reference binarybits of the subsection B are ‘01’, reference binary bits of thesubsection C are ‘10’, and reference binary bits of the subsection D are‘11’.

As described above, in color code, additional bit information isrepresented using a direction in which a color is output to consecutivesections as a criterion. Information added using this direction as acriterion will be referred to as ‘additional bits’. For example, theforward direction may represent information indicating that ‘0’ is addedto the front of reference binary bits. The backward direction mayrepresent information indicating that ‘1’ is added to the front of thereference binary bits. Alternatively, the forward direction mayrepresent information indicating that a bit ‘1’ is added. Furthermore,additional bits may be inserted or added to a position on the referencebinary bits other than the front thereof, according to informationregarding an output direction. The position on the reference binary bitsto which the additional bits are to be inserted or added is setbeforehand. For example, the additional bits may be inserted into amiddle of the reference binary bits or be added to the end of thereference binary bit. Furthermore, the additional bits may be binarybits consisting of a plurality of digits.

FIGS. 3A to 3D illustrate examples in which ‘0’ is added to the front ofreference binary bits when a color is output to consecutive sections inthe forward direction. FIG. 3A illustrates ‘000’. FIG. 3B illustrates‘001’. FIG. 3C illustrates ‘010’. FIG. 3D illustrates ‘011’. FIGS. 3E to3H illustrate examples in which ‘1’ is added to the front of thereference binary bits when a color is output to the consecutive sectionsin the backward direction. FIG. 3E illustrates ‘111’. FIG. 3Fillustrates ‘110’. FIG. 3G illustrates ‘101’. Lastly, referring to FIG.3H, blue color (indicated by ‘B’) is output rather than red color R, sothat a direction may be identified when a color is output to allsubsections. FIG. 3H illustrates a case in which a color is output toall sections in the backward direction, and illustrates ‘100’.

FIGS. 4A to 4H illustrate examples of a display screen on which colorcode is output. FIGS. 4A to 4H illustrate examples in which a specificcolor is output to the code section J of FIG. 2A. FIGS. 4A to 4Hillustrate examples in which certain bits are represented in the samemethod as that applied to FIG. 3. A transmitter outputs green color(indicated by ‘G’) to the code section J. The outputting of the greencolor G to the display screen in FIGS. 4A to 4H is only an example. FIG.4A to 4D illustrate examples in which ‘0’ is added to the front ofreference binary bits when a color is output to consecutive sections inthe forward direction. FIG. 4A illustrates ‘000’. FIG. 4B illustrates‘001’. FIG. 4C illustrates ‘010’. FIG. 4D illustrates ‘011’. FIG. 4E to4H illustrate examples in which ‘1’ is added to the front of thereference binary bits when the color is output to the consecutivesections in the backward direction. FIG. 4E illustrates ‘111’. FIG. 4Fillustrates ‘110’. FIG. 4G illustrates ‘101’. Lastly, FIG. 4Hillustrates an example in which a color other than the green color G isoutput to distinguish an output direction from that of FIG. 4D. FIG. 4Hillustrates an example in which red color (indicated by ‘R’) isdisplayed, and illustrates ‘100’.

A color to be output from a code section may be determined inconsideration of a color output from a code section adjacent thereto.This is because when the same color is output from adjacent codesections, color codes respectively output from these code sections maynot be clearly distinguished from each other. Thus, different colors maybe output from the adjacent code sections. For example, in FIGS. 3A to4H, the code sections I and J are adjacent to each other. A color to beoutput from the code section J may be determined on the basis of Table 1below. Table 1 below shows one example of a condition under whichdifferent colors should be output from adjacent code sections. When twoor more code sections are adjacent to a specific code section, colorsoutput from all the adjacent code sections may be taken into account.

TABLE 1 Output color Output color of FIG. 3 of FIG. 4 Condition (i.e.Row I) (i.e. Row J) 1 When both of the code section I Red (R) Green (G)of FIG. 3 and the code section J of FIG. 4 are not ‘100’ 2 When the codesection I of Red (R) Blue (B) FIG. 3 is not ‘100’ and the code section Jof FIG. 4 is ‘100’ 3 When the code section I of Blue (B) Green (G) FIG.3 is ‘100’ and the code section J of FIG. 4 is not ‘100’ 4 When both ofthe code Blue (B) Red (R) section I of FIG. 3 and the code section J ofFIG. 4 are ‘100’

FIGS. 5A to 5H illustrates other examples of a display screen on whichcolor code is output. FIGS. 5A to 5H illustrate examples in which aspecific color is output to the code section K of FIG. 2A. In the codesection K of FIGS. 5A to 5H, three-digit binary bits may be representedin the same method as those applied to FIGS. 3A through 4H.

In general, data represented in a computer device has a form of 8 bits,16 bits, or the like. Thus, it is assumed that the code section Krepresents two-digit bits to represent 8 bits with three code sectionsI, J, and K output to one screen. The code section K of FIGS. 5A through5H represents two-digit bits. FIG. 5A through 5H illustrate examples inwhich blue color (indicated by ‘B’) is output to subsections. Asdescribed above, a color which is different from the color output to thecode section J may be output to the code section K adjacent to the codesection J. Furthermore, different colors may be output to a plurality ofcode sections included in one screen.

FIG. 5A to D illustrate type 1. FIG. 5E to H illustrate type 2. FIG. 5Aillustrates ‘00’, in which all sub-sections of the code sections K areoutput in the backward direction. FIG. 5B illustrates ‘01’, in which thefirst to third sub-sections of the code sections K are output in thebackward direction. FIG. 5C illustrates ‘10’, in which the first andsecond sub-sections of the code sections K are output in the backwarddirection. FIG. 5D illustrates ‘11’, in which the first sub-section ofthe code sections K is output in the backward direction. FIG. 5Eillustrates ‘00’, in which the first sub-section of the code sections Kis output in the forward direction. FIG. 5F illustrates ‘01’, in whichthe first and second sub-sections of the code sections K are output inthe forward direction. FIG. 5G illustrates ‘10’, in which the first tothird sub-sections of the code sections K are output in the forwarddirection. FIG. 5H illustrates ‘11’, in which all sub-sections of thecode sections K are output. However, two-digit bits may be representedin various methods other than the method applied to FIGS. 5A through 5H.

Furthermore, a color may be used as a criterion for determiningadditional bits. For example, it may be defined beforehand that a binarybit should be added to the front of reference binary bits when red coloris output, and be added to the end of the reference binary bits whenblue color is output. However, embodiments are not limited thereto andmay be varied.

FIGS. 6A through 6H illustrate example of a display screen on whichbinary code corresponding to text data is output using the color code.Referring to FIG. 6A through 6H, 8 bits (=3 bits+3 bits+2 bits) arerepresented by outputting a color to a code region divided into threecolumns as described above with reference to FIGS. 3A to 5H. FIGS. 6Athrough 6H illustrate an example in which text data ‘hello’ is output asASCII code.

FIG. 6A illustrates an example in which start code indicating the startof transfer of source data is output to the display screen before colorcode corresponding to the source data is transferred. FIG. 6Hillustrates an example in which end code indicating the end of transferof data is output to the display screen at a point of time when thetransfer of the source data ends. The start code of FIG. 6A and the endcode of FIG. 6H are only examples, and colors and patterns may bevaried. A receiver starts decoding when it recognizes the start code,and ends the decoding when it recognizes the end code.

Referring to FIG. 6B, color code elements respectively representing‘011/010/00’ are output to a code group region divided into threecolumns. The ‘011/010/00’ is ASCII code corresponding to character ‘h’.Similarly, referring to FIG. 6C, ‘011/001/01’ corresponding to character‘e’ is output. Referring to FIG. 6D, ‘011/011/00’ corresponding tocharacter ‘l’ is output. Referring to FIG. 6E, ‘011/011/00’corresponding to character ‘l’ is output. Referring to FIG. 6F,‘011/011/11’ corresponding to character ‘o’ is output. FIGS. 6B through6F illustrate examples in which one character is transferred to onescreen.

FIG. 6G illustrates an example in which an afterimage removing screen isoutput during the transfer of the source data. Basically, color codeoutputs a specific color and thus an afterimage of a previous frame mayremain on the display screen. Thus, the afterimage removing screenillustrated in FIG. 6G may be output at regular time intervals orintervals of frames. Black color may be output as the afterimageremoving screen.

FIG. 7 illustrates an example of a frame structure in which color codeis transferred. The color code may include a region (start byte)indicating the start of the color code, and a region (end byte)indicating the end of the color code. The start byte may correspond tothe start code of FIG. 6A. The end byte may correspond to the end codeof FIG. 6H. In FIG. 7, a data byte means a region representing sourcedata.

In a display device, a color pattern is transferred using emission oflight from a liquid crystal and thus an afterimage of a patterntransferred in a previous frame may remain according to a feature of theliquid crystal. An afterimage removing byte may cause a display panel todisplay black color. The afterimage removing byte corresponds to theafterimage removing screen described above. For example, in order totransfer text, a start byte is transferred, and the afterimage removingbyte may be transferred between transfer of an 8-bit character andtransfer of a subsequent 8-bit character.

As described above with reference to FIGS. 6A through 6H, a transmittermay output a black frame (the afterimage removing byte) between framesin which the source data is transferred for a certain time period atregular time intervals. Alternatively, the transmitter may not transferany image between the frames in which the source data is transferred forthe certain time period at the regular time intervals.

FIG. 8 is a flowchart illustrating an example of extracting color codeby a receiver. The receiver obtains an image displayed on a displayscreen of a transmitter through a camera (110). The receiver normalizesthe obtained image (120). A color image input to the camera includes anRGB model. A general RGB color model is sensitive to a change in theintensity of illumination and thus an operation is difficult to beexactly performed thereon. Normalization may be performed to dividevalues of components r, g, and b by the sum of the values. Thenormalization may be calculated by Equation 1 below.

$\begin{matrix}{{R = \frac{r}{\left( {r + g + b} \right)}},{G = \frac{g}{\left( {r + g + b} \right)}},{B = \frac{b}{\left( {r + g + b} \right)}}} & \left\lbrack {{Equation}\mspace{14mu} 1} \right\rbrack\end{matrix}$

YCbCgCr color model conversion and HSV color model conversion areindividually performed on the normalized image.

First, the YCbCgCr color model conversion will be described below. Thereceiver converts the normalized RGB color image into an YCbCgCr image(130). A process of extracting chrominance information Cb, Cg and Crregarding B (blue), G (green) and R (red) components except a luminancecomponent Y from an RGB color model may be performed using Equations 2to 4 below. In Equations 2 to 4 below, R, G, and B respectivelyrepresent the values of the R (red), G (green), and B (blue) componentsobtained by normalizing the RGB color model.Cb=−0.16874×R−0.33126×G+0.50000×B  [Equation 2]Cg=G−(B+((R−B)»1)  [Equation 3]Cr=0.50000×R−0.41869×G−0.08131×B   [Equation 4]

Thereafter, the receiver extracts a region having a threshold value ormore from each color channel. During this process, pixels having apredetermined threshold value or more (dark pixels) are extracted fromchrominance channels of the respective chrominance information Cb, Cgand Cr. Setting of the threshold value may vary according to variousenvironmental variables, such as system performance, information of animage of an object to be detected, the intensity of luminance at whichan image is obtained, etc. Alternatively, the threshold value may varyaccording to a chrominance channel. For example, the receiver extractsan object having a specific threshold value or more from a blue colorchannel (141), binarizes the extracted image (142), and removes noisefrom the binarized image (143). Similarly, the receiver extracts anobject having the specific threshold value or more from a green colorchannel (151), binarizes the extracted image (152), and removes noisefrom the binarized image (153). Lastly, the receiver extracts an objecthaving the specific threshold value or more from a red color channel(161), binarizes the extracted image (162), and removes noise from thebinarized image (163).

The receiver performs binarization on each chrominance channel (142, 152and 162) so that an object having a corresponding color may besimplified to increase the efficiency of detecting the object. Thebinarization may be performed using Equation 5 below.

$\begin{matrix}{{{Region}\mspace{14mu}{of}\mspace{14mu}{Object}} = \begin{Bmatrix}255 & {{If}\left( {{\alpha \geq {Cb}},{Cg},{Cr}} \right)} \\0 & {Otherwise}\end{Bmatrix}} & \left\lbrack {{Equation}\mspace{14mu} 5} \right\rbrack\end{matrix}$

Here, Region of Object denotes a region of an image, in which a specificobject is provided, and α denotes a threshold value for binarization.That is, the region of the image Region of Object has a value of 255(black color) when chrominance information extracted with respect toeach of the respective chrominance information Cb, Cg and Cr is greaterthan or equal to the threshold value α, and has a value of 0 (whitecolor) when the chrominance information extracted with respect to eachof the respective chrominance information Cb, Cg and Cr is less than thethreshold value α

After binarization is performed, operations 143, 153 and 163 may beperformed to remove unnecessary objects, noise, etc. so as to moreexactly detect an object region of interest. For example, noise may beremoved by performing dilation using Equation 6 below and performingerosion using Equation 7 below.

$\begin{matrix}{{{A \oplus B} = {{\bigcup\limits_{W \in B}A_{W}} = {\left( {a,b} \right) + {\left( {u,v} \right)\text{:}}}}}{{\left( {a,b} \right) \in A},{\left( {u,v} \right) \in B}}} & \left\lbrack {{Equation}\mspace{14mu} 6} \right\rbrack\end{matrix}$

In dilation, when it is assumed that A and B represent sets of pixels,A⊕B may be defined by Equation 6 above. Erosion is performed to mainlydecrease protrusions inside an object and increase protrusions outsidethe object, so that a space (such as a hole) generated in the object ora background may be filled or shortly cut regions may be connected.Erosion is performed on a region of a binary image in which black andwhite pixels are present together rather than a region of the binaryimage in which input pixels are uniform.A⊖B=w:B _(w) ⊆A  [Equation 7]

In erosion, when it is assumed that A and B are sets of pixels, A⊖B maybe defined by Equation 7 above. Here, B_(w) represents a result oferosion occurring in a set w=(u,v) entirely included in the set ofpixels A, included in a result of moving a morpheme B. That is, dilationmay be defined as a set of points corresponding to origins on places (inwhich the set of pixels B may be entirely included) detected whilemoving the set of pixels B above the set of pixels A.

The HSV color model conversion will now be described below. The receiverconverts the normalized RGB color image into an HSV image (operationS171).

The receiver extracts a pixel having a first threshold value or more anda pixel having a second threshold value or less from a saturation (S)channel of the HSV image (operation 172), and extracts a pixel having areference threshold value or more from a value (V) channel (operation173). The receiver performs an AND operation to combine an imageextracted from the S channel and an image extracted from the V channel,thereby generating a mask image (operation 174).

The receiver synthesizes the result extracted from each channel duringthe YCbCgCr color model conversion with the mask image. The receiverdetects blue color by performing the AND operation on a noise-removedimage from a Cb channel and the mask image (181), detects green color byperforming the AND operation on a noise-removed image from a Cg channelwith the mask image (182), and detects red color by performing the ANDoperation on a noise-removed image from a Cr channel with the mask image(183). Finally, the receiver combines the blue, green, and red colors togenerate a final image (190). Then, the receiver decodes data on thebasis of the final image.

The receiver obtains an image including a display screen of atransmitter through a camera. The receiver extracts a region outputtingcolor code from the obtained image. FIGS. 9A through 9E illustratesexamples of extracting a region which outputs color code by a receiver.FIG. 9A illustrates an example of an image output from the displayscreen of the transmitter. The receiver detects a region of the obtainedimage that outputs specific colors (red, blue, and green colors in FIG.9) as illustrated in FIG. 9B. The receiver may detect the region of theimage having the specific colors by analyzing color components of theobtained image.

The receiver may detect the region having the specific colors and definethe region outputting the specific colors as illustrated in FIG. 9C.When code sections have a tetragonal shape, the receiver may extractcoordinates representing four corners as illustrated in FIG. 9C. Thereceiver may detect an entire region using the extracted coordinates.The receiver may extract a length c of a diagonal line using upper leftcoordinates and lower right coordinates as illustrated in FIG. 9D. Whenthe extracted length c of the diagonal line and an included angle A aredetermined, the receiver may calculate the lengths of the sides (theheight a and the bottom side b) of a right-angled triangle using atrigonometric ratio. Equation 8 below may be used to calculate thelengths of the height a and the bottom side b.a=c sin Ab=c cos A  [Equation 8]

The following condition may be set so that the receiver may detect awhole region outputting color code according to the method describedabove with reference to FIGS. 9A through 9E. It is assumed that colorcode is output from a code section as described above with reference toFIGS. 3A to 5H. In the code section I of FIGS. 3A through 3D, when acolor is output in the forward direction or from top to bottom (i.e.,when an additional bit is ‘0’), the color code is output from the codesection K of FIGS. 5A through 5D according to type 1. In contrast, inthe code section I of FIGS. 3E through H, when a color is output in thebackward direction, or from bottom to top (i.e., when the additional bitis ‘1’), the color code is output from the code section K of FIGS. 5Ethrough H according to type 2. In this case, the receiver may extractthe whole region outputting the color code using upper left coordinatesand lower right coordinates of this region.

FIG. 10 is a block diagram illustrating an example of a system whichtransfers data using color code. The system 200 which transfers datausing color code includes a transmitter 210 which outputs color code toa display screen thereof, and a receiver 220 which obtains the colorcode output from the transmitter using a camera and decodes the colorcode.

The transmitter 210 includes an interface 211, an operation device 212,a storage device 213, and a display device 214.

The transmitter 210 generates source data in the form of certain binarycode according to a data standard or another condition. The source datamay be input via the interface 211 of the transmitter 210. The interface211 is an input tool through which the source data is input, or isconfigured to receive the source data from a storage medium storing thesource data. Examples of the input tool include a keyboard, a mouse, atouch panel, a microphone for voice recognition, etc. Examples of thestorage medium include a hard disk, a solid state drive (SSD), auniversal serial bus (USB), a security digital (SD) memory card, ormemory. Furthermore, the interface 211 may be configured to receive datafrom the outside through a network.

The operation device 212 determines color code corresponding to thesource data. The operation device 212 may be a central processing unit(CPU), an application processor (AP), a processor or other computerdevice which performs a certain operation. The operation device 212refers to a code table stored in the storage device 213 so as togenerate the color code corresponding to the source data. The storagedevice 213 may be a random access memory (RAM), a flash memory, a harddisk, or other memory. For example, the code table may store ASCII coderepresenting text data, and specific color code corresponding to binarycode making up the ASCII code.

The operation device 212 divides the binary code by a unit length (e.g.,three bits) that may be represented by each color code element. Theoperation device 212 converts the binary code divided by the unit lengthinto certain color code by referring to the code table.

The operation device 212 may temporarily store the color code in thestorage device 213. The display device 214 outputs the color code. Colorcode received by the display device 214 corresponds to a command thatinstructs a color to be output to a specific location (code section) onthe display screen.

The receiver 220 includes a camera 221, an operation device 222, and astorage device 223. The camera 221 may be included in the receiver 220or may be an external device connected to the receiver 220.

The camera 221 captures a screen displayed on the display device 214that outputs the color code. The operation device 222 extracts the colorcode by analyzing an image obtained through the camera 221. Theoperation device 222 decodes the color code using a decoding tablestored in the storage device 223. The operation device 222 distinguishesthe extracted color code in units of code sections, and determinesbinary bits represented by each of the code sections by referring to thedecoding table. The operation device 222 generates a binary bit stringrepresenting the source data by combining the binary bits represented bythe code sections. For example, the operation device 222 may generate an8-bit binary string by combining three bits, three bits, and two bits.The operation device 222 may decode the 8-bit binary code into text datausing an ASCII code table.

The operation device 222 may be a central processing unit (CPU), anapplication processor (AP), a processor or other computer device whichperforms a certain operation. The operation device 222 refers to a codetable stored in the storage device 223 so as to decode the color codecorresponding to the received data. The storage device 223 may be arandom access memory (RAM), a flash memory, a hard disk, or othermemory. For example, the code table may store ASCII code representingtext data, and specific color code corresponding to binary code makingup the ASCII code.

FIG. 11 is a block diagram illustrating an example of a system whichtransfers data using color code. In the system 300 which transfers datausing color code, a device which generates color code and a device whichoutputs the color code are separately configured. The system 300 whichtransfers data using color code includes a server 310 which generatescolor code corresponding to source data, a transmitter 320 which outputsthe color code, and a receiver 330 which decodes the color code.

The server 310 includes an interface 311, an operation device 312, astorage device 313, and a communication module 314. The interface 311 isconfigured to receive the source data. The interface 311 is an inputtool through which the source data is input, or is configured to receivethe source data from a storage medium storing the source data. Examplesof the input tool include a keyboard, a mouse, a touch panel, amicrophone for voice recognition, etc. Examples of the storage mediuminclude a hard disk, an SSD, a USB, an SD memory card, etc.

The operation device 312 determines color code corresponding to thesource data. The operation device 312 is a device of a computer device,such as a processor, which performs a certain operation. The operationdevice 312 refers to a code table stored in the storage device 313 so asto generate the color code corresponding to the source data. The storagedevice 313 may be a RAM, a flash memory, a hard disk, or other memory.For example, the code table may store ASCII code representing text data,and specific color code corresponding to binary code making up the ASCIIcode.

The communication module 314 is a device which transfers the color codeto the transmitter 320. The communication module 314 supports at leastone among various communication methods such as near-fieldcommunication, the Internet or mobile telecommunication. The source datamay also be transferred from the transmitter 320. In this case, thecommunication module 314 receives the source data.

The transmitter 320 includes an interface 321, a communication module322, and a display device 323.

The source data may be input via the interface 321 of the transmitter320. The interface 321 is an input tool through which the source data isinput, or is configured to receive the source data from a storage mediumstoring the source data. Examples of the input tool include a keyboard,a mouse, a touch panel, or a microphone for voice recognition. Examplesof the storage medium include a hard disk, an SSD, a USB, an SD memorycard, or a memory. Furthermore, the interface 321 may be configured toreceive data from the outside through a network.

The communication module 322 transfers the source data to the server310. The communication module 322 receives the color code from theserver 310. The display device 323 outputs the received color code. Thecolor code received by the transmitter 320 may include a command thatinstructs a color to be output to a specific location (e.g., a codesection) on the display screen.

The receiver 330 includes a camera 331, an operation device 332, and astorage device 333. The camera 331 may be included in the receiver 330or may be an external device connected to the receiver 330.

The camera 331 captures a screen displayed on the display device 214which outputs the color code. The operation device 332 extracts thecolor code by analyzing an image obtained through the camera 331. Theoperation device 332 decodes the color code using a decoding tablestored in the storage device 333. The operation device 332 distinguishesthe extracted color code in units of code sections, and determinesbinary bits represented by each of the code sections by referring to thedecoding table. The operation device 332 generates a binary bit stringrepresenting the source data by combining the binary bits represented bythe code sections. For example, the operation device 332 may generate an8-bit binary string by combining three bits, three bits, and two bits.The operation device 332 may decode the 8-bit binary code into text datausing an ASCII code table.

Furthermore, the receiver 330 may detect screens output from a pluralityof transmitters 320. In this case, n:1 communication may be established.

FIG. 12 is a flowchart illustrating an example of a method of outputtingcolor code for data communication 400. FIG. 12 illustrates a method ofoutputting color code by a transmitter. In FIG. 12, a computer devicemay correspond to the transmitter described above.

As illustrated in FIGS. 2A through 2D, one display screen may include aplurality of code sections. The computer device determines a location ofeach of the code sections and locations of subsections making up each ofthe code sections (410). The computer device maps the plurality ofsubsections to different binary numbers consisting of at least one bit(reference binary bits as described above) (420).

The computer device outputs a specific color to consecutive sectionsincluding at least one among a plurality of sections belonging to onegroup in a certain order (430). This process should be understood as aprocess of outputting color code to one code section by the computerdevice.

The computer device determines whether output of color codecorresponding to source data is over or completed (440). When the colorcode is completely output, the outputting of the color code is ended.

When the color code is not completely output, the computer devicedetermines whether there is a code section which is not output to acurrent screen (450). That is, when there is a code section of thedisplay screen to which color code is not output, the color code isoutput to a subsequent code section in a certain order. If the colorcode is output to all current code sections of the display screen, theprocess of outputting the color code is performed again in a new frame.

FIG. 13 is a flowchart illustrating an example of a method oftransferring data using color code 500 according to an embodiment. Atransmitter divides a bit string of binary code corresponding to sourcedata by a certain bit length (510). In operation 510, the bit string ofthe binary code is divided by a bit length that may be represented byeach code section.

The transmitter outputs a specific color corresponding to the bit stringdivided by the certain bit length to a plurality of sections of adisplay screen in a certain order (520). In operation 520, thetransmitter consecutively outputs color code corresponding to the sourcedata to the code sections of the display screen. When output of thecolor code is over in one frame, the transmitter continuously outputs,or maintains, the color code in a subsequent frame.

A receiver obtains an image including the color code output in one frameby the transmitter through a camera (530). The receiver may start codedecoding after an image of all color codes output in a plurality offrames from the obtained or may start code decoding in units of framesobtained in real time. The receiver determines whether a start codeindicating the start of a code decoding is included in the color codescontained in the image (540). When the start code is recognized, thereceiver starts to decode the color codes (550). The receiver determineswhether there is an end code indicating the end of code decoding amongthe color codes (560). The receiver ends the decoding of the color codeswhen it recognizes the end code.

When the receiver ends the decoding of the color codes normally, thereceiver obtains the source data. Thus, the source data is transferredfrom the transmitter to the receiver. For example, the receiver maydecode the source data, and perform user authentication by comparing thesource data with authentication data that the receiver has.

As described above, the transmitter outputs color code via the displaydevice thereof, and the receiver obtains an image including the colorcode through a camera. The image obtained through the camera isinfluenced by the intensity of illumination or an amount of exposure ofa lens. For example, color code extracted by the receiver may not becolor code that the transmitter desires to transmit when the intensityof illumination is too low or too high. Furthermore, it may be difficultfor the receiver to extract a color code due to noise caused by aninappropriate intensity of illumination. Thus, the transmitter mayoutput a color having an appropriate brightness value or a color of anappropriate type in consideration of ambient conditions.

FIG. 14 is a block diagram illustrating an example of a system whichtransfers data using color code according to an embodiment. The system600 which transfers data using color code includes a transmitter 610 anda receiver 620. In FIG. 14, the transmitter 610 may include additionalelements for generating a color code or receive a color code from aserver. In FIG. 14, the transmitter 610 includes predetermined colorcodes stored in a memory.

The transmitter 610 includes an illumination sensor 611, an operationdevice 612, and a display device 613. The illumination sensor 611measures an ambient illumination intensity. The operation device 612 mayuniformly correct current color code based on the ambient illuminationintensity measured by and received from the illumination sensor 611.

The operation device 612 checks whether the ambient illuminationintensity is in a predetermined reference range. The predeterminedreference range may be stored in an additional storage device orinternal memory. The predetermined reference range may be a range basedon which the receiver 620 may determine a color value of an imageobtained through a camera 621 thereof to a color value that thetransmitter 610 intended. The predetermined reference range may varyaccording to a brightness value of an output of the display device 613,a color value, and ambient conditions.

When the ambient illumination intensity is less than a lower limit ofthe predetermined reference range, the operation device 612 may deepen acolor by decreasing a brightness value of the display device 613 orchanging a value of at least one among red color, green color, and bluecolor among output colors. In contrast, when the ambient illuminationintensity is greater than an upper limit of the predetermined referencerange, the operation device 612 may lighten a color by increasing thebrightness value of the display device 613 or changing a value of atleast one among the red color, the green color, and the blue color amongthe output colors.

The operation device 612 uniformly corrects a brightness value of acolor to be output or a value of a color on the basis of the differencebetween the ambient illumination intensity measured by the illuminationsensor 611 and the lower or upper limit of the predetermined referencerange. Alternatively, the display device 613 may control a brightnessvalue of a display panel of the display device 613 to be proportional tothis difference operation calculated by the operation device 612. Thedisplay device 613 may change a value of at least one of the red color,the green color, and the blue color such that a color to be output fromthe display panel becomes darker or brighter to be proportional to thisdifference.

The receiver 620 includes the camera 621, an operation device 622, and astorage device 633. The receiver 620 may correspond to the receiver 220of FIG. 10 or the receiver 330 of FIG. 11, however, embodiments are notlimited thereto.

FIG. 15 is a block diagram illustrating an example of a system whichtransfers data using color code according to an embodiment. The system700 which transfers data using color code includes a transmitter 710 anda receiver 720. In the system 700 of FIG. 15, the receiver 720 transfersinformation regarding the intensity of illumination or a brightnessvalue of an image to the transmitter 710.

The receiver 720 includes a camera 721, an operation device 722, astorage device 723, and a communication module 724. The receiver 720directly measures the intensity of illumination and transfersinformation regarding the intensity of illumination to the transmitter710, or analyzes a brightness value of an image and transfersinformation regarding the brightness value to the transmitter 710.

The camera 721 may measure the intensity of illumination using anillumination sensor. The camera 721 may include an illumination sensorand may measure the intensity of illumination. The receiver 720 maymeasure the intensity of illumination using an additional illuminationsensor external to the camera 721.

Alternatively, the operation device 722 may analyze a brightness valueof an image obtained by the camera 721. The operation device 722 mayanalyze whether a current image is generally bright or dark on the basisof brightness values of pixels making up an image. For example, theoperation device 722 may determine a whole brightness value of the imageon the basis of brightness values of all pixels constituting, or makingup, one frame or an average of the brightness values. The operationdevice 722 may differently determine a brightness value of an imageaccording to a color model (RGB, YCbCr, or the like) representing animage. For example, the operation device 722 may determine a brightnessvalue of a background. An average of all brightness values of thebackground may be used as the brightness value of the background.Various methods may be used to determine a brightness value of an image.The operation device 722 may convert an RGB image into a color spacerepresenting a luminance component Y such as YCbCr, and calculate anaverage brightness value of the luminance component Y.

The communication module 724 transfers information regarding a measuredintensity of illumination or information regarding a brightness value ofan image to the transmitter 710. The communication module 724 maytransfer the information using a method such as near-fieldcommunication, Wi-Fi, or mobile telecommunication, as only examples.

The transmitter 710 includes a communication module 711, an operationdevice 712, and a display device 713. In FIG. 15, the transmitter 710may include additional elements which generate color code or receivecolor code from a server. In FIG. 15, it is assumed that the transmitter710 includes predetermined color codes stored on a memory.

The communication module 711 receives information regarding theintensity of illumination or a brightness value of an image from thereceiver 720. The operation device 712 checks whether the intensity ofillumination or the brightness value of the image is within apredetermined reference range. The predetermined reference range may bestored in an additional storage device. The predetermined referencerange should be understood as a range based on which the receiver 720may determine a color value of an image obtained through the camera 721to be a color value that the transmitter 710 intended. The predeterminedreference range may vary according to a brightness value of an output ofthe display device 713, a color value, and ambient conditions.

When the intensity of illumination or the brightness value of the imageis less than a lower limit of the predetermined reference range, theoperation device 712 may deepen a color by decreasing a brightness valueof the display device 713 or changing a value of at least one among redcolor, green color, and blue color among output colors. In contrast,when the intensity of illumination or the brightness value of the imageis greater than an upper limit of the predetermined reference range, theoperation device 712 may lighten a color by increasing the brightnessvalue of the display device 713 or changing a value of at least oneamong the red color, the green color, and the blue color among theoutput colors.

The operation device 712 uniformly corrects a brightness value of acolor to be output or a value of a color on the basis of the differencebetween either the intensity of illumination or the brightness value ofthe image and the lower or upper limit of the predetermined referencerange. Alternatively, the display device 713 may be a display panel andmay control a brightness value of the display panel to be proportionalto this difference calculated by the operation device 712. The displaydevice 713 may change a value of at least one of the red color, thegreen color, and the blue color such that a color output from thedisplay panel becomes darker or lighter to be proportional to thisdifference.

According to the technique described in the present examples, data istransferred by outputting color code having a specific pattern to ascreen and capturing the screen. According to this technique, data canbe transferred in an environment in which radio-frequency (RF)communication cannot be established, such as visible lightcommunication.

The respective transmitters 210, 320, 610, and 710; receivers 220, 330,620, and 720; operation devices 212, 222, 312, 332, 612, 622, 712, and722; interfaces 211, 311, 321; display devices 214, 323; communicationmodules 314, 322, 711, and 724 in FIGS. 10, 11, 14 and 15 that performthe operations described in this application are implemented by hardwarecomponents configured to perform the operations described in thisapplication that are performed by the hardware components. Examples ofhardware components that may be used to perform the operations describedin this application where appropriate include controllers, sensors,generators, drivers, memories, comparators, arithmetic logic units,adders, subtractors, multipliers, dividers, integrators, and any otherelectronic components configured to perform the operations described inthis application. In other examples, one or more of the hardwarecomponents that perform the operations described in this application areimplemented by computing hardware, for example, by one or moreprocessors or computers. A processor or computer may be implemented byone or more processing elements, such as an array of logic gates, acontroller and an arithmetic logic unit, a digital signal processor, amicrocomputer, a programmable logic controller, a field-programmablegate array, a programmable logic array, a microprocessor, or any otherdevice or combination of devices that is configured to respond to andexecute instructions in a defined manner to achieve a desired result. Inone example, a processor or computer includes, or is connected to, oneor more memories storing instructions or software that are executed bythe processor or computer. Hardware components implemented by aprocessor or computer may execute instructions or software, such as anoperating system (OS) and one or more software applications that run onthe OS, to perform the operations described in this application. Thehardware components may also access, manipulate, process, create, andstore data in response to execution of the instructions or software. Forsimplicity, the singular term “processor” or “computer” may be used inthe description of the examples described in this application, but inother examples multiple processors or computers may be used, or aprocessor or computer may include multiple processing elements, ormultiple types of processing elements, or both. For example, a singlehardware component or two or more hardware components may be implementedby a single processor, or two or more processors, or a processor and acontroller. One or more hardware components may be implemented by one ormore processors, or a processor and a controller, and one or more otherhardware components may be implemented by one or more other processors,or another processor and another controller. One or more processors, ora processor and a controller, may implement a single hardware component,or two or more hardware components. A hardware component may have anyone or more of different processing configurations, examples of whichinclude a single processor, independent processors, parallel processors,single-instruction single-data (SISD) multiprocessing,single-instruction multiple-data (SIMD) multiprocessing,multiple-instruction single-data (MISD) multiprocessing, andmultiple-instruction multiple-data (MIMD) multiprocessing.

The methods illustrated in FIGS. 1-9E, 12, and 13 that perform theoperations described in this application are performed by computinghardware, for example, by one or more processors or computers,implemented as described above executing instructions or software toperform the operations described in this application that are performedby the methods. For example, a single operation or two or moreoperations may be performed by a single processor, or two or moreprocessors, or a processor and a controller. One or more operations maybe performed by one or more processors, or a processor and a controller,and one or more other operations may be performed by one or more otherprocessors, or another processor and another controller. One or moreprocessors, or a processor and a controller, may perform a singleoperation, or two or more operations.

Instructions or software to control computing hardware, for example, oneor more processors or computers, to implement the hardware componentsand perform the methods as described above may be written as computerprograms, code segments, instructions or any combination thereof, forindividually or collectively instructing or configuring the one or moreprocessors or computers to operate as a machine or special-purposecomputer to perform the operations that are performed by the hardwarecomponents and the methods as described above. In one example, theinstructions or software include machine code that is directly executedby the one or more processors or computers, such as machine codeproduced by a compiler. In another example, the instructions or softwareincludes higher-level code that is executed by the one or moreprocessors or computer using an interpreter. The instructions orsoftware may be written using any programming language based on theblock diagrams and the flow charts illustrated in the drawings and thecorresponding descriptions in the specification, which disclosealgorithms for performing the operations that are performed by thehardware components and the methods as described above.

The instructions or software to control computing hardware, for example,one or more processors or computers, to implement the hardwarecomponents and perform the methods as described above, and anyassociated data, data files, and data structures, may be recorded,stored, or fixed in or on one or more non-transitory computer-readablestorage media. Examples of a non-transitory computer-readable storagemedium include read-only memory (ROM), random-access memory (RAM), flashmemory, CD-ROMs, CD-Rs, CD+Rs, CD-RWs, CD+RWs, DVD-ROMs, DVD-Rs, DVD+Rs,DVD-RWs, DVD+RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-R LTHs, BD-REs, magnetictapes, floppy disks, magneto-optical data storage devices, optical datastorage devices, hard disks, solid-state disks, and any other devicethat is configured to store the instructions or software and anyassociated data, data files, and data structures in a non-transitorymanner and provide the instructions or software and any associated data,data files, and data structures to one or more processors or computersso that the one or more processors or computers can execute theinstructions. In one example, the instructions or software and anyassociated data, data files, and data structures are distributed overnetwork-coupled computer systems so that the instructions and softwareand any associated data, data files, and data structures are stored,accessed, and executed in a distributed fashion by the one or moreprocessors or computers.

As a non-exhaustive example only, a terminal/device/unit as describedherein may be a mobile device, such as a cellular phone, a smart phone,a wearable smart device (such as a ring, a watch, a pair of glasses, abracelet, an ankle bracelet, a belt, a necklace, an earring, a headband,a helmet, or a device embedded in clothing), a portable personalcomputer (PC) (such as a laptop, a notebook, a subnotebook, a netbook,or an ultra-mobile PC (UMPC), a tablet PC (tablet), a phablet, apersonal digital assistant (PDA), a digital camera, a portable gameconsole, an MP3 player, a portable/personal multimedia player (PMP), ahandheld e-book, a global positioning system (GPS) navigation device, ora sensor, or a stationary device, such as a desktop PC, ahigh-definition television (HDTV), a DVD player, a Blu-ray player, aset-top box, or a home appliance, or any other mobile or stationarydevice configured to perform wireless or network communication. In oneexample, a wearable device is a device that is designed to be mountabledirectly on the body of the user, such as a pair of glasses or abracelet. In another example, a wearable device is any device that ismounted on the body of the user using an attaching device, such as asmart phone or a tablet attached to the arm of a user using an armband,or hung around the neck of the user using a lanyard.

While this disclosure includes specific examples, it will be apparentafter an understanding of the disclosure of this application thatvarious changes in form and details may be made in these exampleswithout departing from the spirit and scope of the claims and theirequivalents. The examples described herein are to be considered in adescriptive sense only, and not for purposes of limitation. Descriptionsof features or aspects in each example are to be considered as beingapplicable to similar features or aspects in other examples. Suitableresults may be achieved if the described techniques are performed in adifferent order, and/or if components in a described system,architecture, device, or circuit are combined in a different manner,and/or replaced or supplemented by other components or theirequivalents. Therefore, the scope of the disclosure is defined not bythe detailed description, but by the claims and their equivalents, andall variations within the scope of the claims and their equivalents areto be construed as being included in the disclosure.

What is claimed is:
 1. A processor-implemented method of outputting, fordata communication, color codes to a display screen, the methodcomprising: determining respective locations of a plurality of sections,each section divided in the display screen; assigning different binarycodes to the locations of the plurality of sections, the binary codeshaving at least one-bit length; generating a color code table for thedata communication by assigning a predetermined respective color to eachof the plurality of sections; determining locations, of the plurality ofsections, having binary codes corresponding to source data to becommunicated; and outputting, using the color code table for the datacommunication and in a predetermined direction, corresponding colors tothe determined locations of the plurality of sections having the binarycodes corresponding to the source data, wherein at least one binary codeincludes information of the predetermined direction for the outputting.2. The method of claim 1, further comprising converting the source datainto the binary codes representing the source data, and wherein thecorresponding colors are output to the display screen so as to representa portion of the binary codes.
 3. The method of claim 1, wherein a bitstring, comprising the binary codes corresponding to the source data, isdivided by a predetermined bit length, and the corresponding colors areoutput to the display screen so as to represent the binary codesincluded in the bit string in a unit of the predetermined bit length. 4.The method of claim 1, wherein the binary codes corresponding to thesource data are represented consecutively in one or more of theplurality of sections in the display screen, and wherein, when thebinary codes are represented consecutively in two or more of theplurality of sections including a first section and a second sectionadjacent to the first section, a color for the first section isdifferent from a color for the second section.
 5. The method of claim 1,wherein the binary codes are represented, in the direction including afirst direction and a second direction, consecutively in two or more ofthe plurality of sections, and a color output in the first direction isdifferent from color output in the second direction.
 6. The method ofclaim 1, wherein the display screen is divided into the plurality ofsections including a plurality of subsections, and different colors areoutput to the plurality of sections.
 7. A method of transferring datausing color code, the method comprising: generating a color code tableby assigning a predetermined respective color to each of a plurality ofsections, each section being divided in a display screen and beingassigned to binary codes; dividing, by a bit length, a bit stringcomprising binary codes corresponding to source data; determining whichof the plurality of sections includes assigned binary codescorresponding to the divided bit string for the source data; outputting,by a transmitter using the color code table and in a predetermineddirection, a predetermined color to a plurality of sections includingthe assigned binary codes corresponding to the divided bit string forthe source data, wherein the predetermined color corresponds to the bitstring divided by the bit length; obtaining, by a receiver, an imageoutput to the display screen through a camera; and decoding the sourcedata contained in the image on the basis of the predetermined coloroutput to the plurality of sections, using the color code table, whereinthe transmitter outputs the predetermined color to consecutive sectionsamong the plurality of sections in the predetermined direction, andwherein at least one binary code includes information of thepredetermined direction for the outputting.
 8. The method of claim 7,wherein, when the consecutive sections include all the plurality ofsections including a first section, and a second section adjacent to thefirst section, a color output in the first section is different from acolor output in the second section.
 9. The method of claim 7, whereinthe transmitter outputs the predetermined color to the consecutivesections in the direction, and outputs a different color, from thepredetermined color, to the consecutive sections in a reverse directionopposite to the direction.
 10. The method of claim 7, wherein thetransmitter divides the display screen into the plurality of sectionsrespectively including a plurality of subsections, and outputs differentcolors to the plurality of sections.
 11. The method of claim 7, furthercomprising decoding the source data and performing user authenticationby comparing pre-stored authentication data with the decoded sourcedata.
 12. The method of claim 7, further comprising outputting a startframe and an end frame respectively including a black color with adifferent color pattern to the display screen.
 13. The method of claim7, further comprising measuring an intensity of illumination, andcontrol a brightness value or a color value of the predetermined coloroutput to the consecutive sections when the measured intensity ofillumination is outside a reference range.
 14. The method of claim 7,further comprising: measuring, by the receiver, intensity ofillumination; analyzing, by the receiver, a brightness value of an imageobtained by the camera, and transferring, by the receiver, informationregarding the intensity of illumination or the brightness value of theimage to the transmitter through a network, wherein, when the intensityof illumination or the brightness value of the image is outside areference range, the transmitter controls, using the transferredinformation, a brightness value or a color value of the predeterminedcolor output to the consecutive sections.
 15. A non-transitorycomputer-readable storage medium storing instructions that, whenexecuted by a processor, cause the processor to perform the method ofclaim
 7. 16. A transmitter for data communication using color codes, thetransmitter comprising: a processor configured to: determine respectivelocations of a plurality of sections, each section divided in a displayscreen; assign different binary codes to the locations of the pluralityof sections, the binary codes having at least one-bit length; generate acolor code table for the data communication by assigning a predeterminedrespective color to each of the plurality of sections; determinelocations, of the plurality of sections, having binary codescorresponding to source data to be communicated; and output, using thecolor code table for the data communication and in a predetermineddirection, corresponding colors to the determined locations of theplurality of sections having the binary codes corresponding to thesource data, wherein at least one binary code includes information ofthe predetermined direction for the outputting.
 17. The transmitter ofclaim 16, wherein the transmitter is a smartphone, a tablet, a laptop ora computer.
 18. A receiver for data communication using color codes, thereceiver comprising: a camera; a processor configured to: receive animage from the camera; and generate source data contained in the imageby decoding colors using a color code table, wherein the color codetable is generated, on the basis of a predetermined color order of aplurality of sections of the image, by assigning a predeterminedrespective color to each of the plurality of sections, wherein thesource data is encoded using the color code table; and wherein thecolors corresponding to respective determined locations of the pluralityof sections are output using the color code table for the datacommunications and in a predetermined direction, the color code tableincluding information of the predetermined direction for the outputtingof the colors.
 19. The receiver of claim 18, wherein the receiver is asmartphone, a tablet, a laptop or a computer.